using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Collections;
using System.Collections.Generic;
using System.Web.UI;
using System.Xml;
using System.Text;
using System.IO; 


namespace IGlobalist.Cms.Bll
{
    [Serializable]
    
    public class CategoryEdu<T>
    {
      //private string _path = HttpContext.Current.Request.PhysicalApplicationPath + "/Admin/XML/Categories.xml";
    //  public XmlDocument xDoc;
    //   public  IList<CategoryEdu> categoryEdus;

    //    public int Count
    //    {
    //        get
    //        {
    //            return categoryEdus.Count;
    //        }
    //    }

    //    public CategoryEdu(string xmlPath)
    //    {
    //        try
    //        {
    //            //xmlPath = _path;
    //            xDoc = new XmlDocument();
    //            xDoc.Load(xmlPath);

    //        }
    //        catch { }
    //        categoryEdus = null;
    //        this.List();
    //    }

    //    public IList<CategoryEdu> List()
    //    {
    //        if (categoryEdus == null)
    //        {
    //            categoryEdus = new List<CategoryEdu>();
    //            try
    //            {
    //                foreach (XmlNode xNode in xDoc.DocumentElement.ChildNodes)
    //                {
    //                    CategoryEdu ce = GetCategoryEdu(xNode);
    //                    categoryEdus.Add(ce);
    //                }
    //            }
    //            catch { }
    //        }
    //        return categoryEdus;
    //    }
    //    private CategoryEdu GetCategoryEdu(XmlNode xNode)
    //    {
    //        CategoryEdu ce;

    //        ce = new CategoryEdu(Convert.ToInt64(xNode.Attributes["id"].Value),
    //                           Convert.ToString(xNode.Attributes["name"].Value),
    //                           Convert.ToString(xNode.Attributes["description"].Value),
    //                           Convert.ToString(xNode.Attributes["url"].Value),
    //                           Convert.ToInt64(xNode.Attributes["parent"].Value));
    //        try
    //        {
    //            ce = new CategoryEdu(Convert.ToInt64(xNode.Attributes["id"].Value),
    //                           Convert.ToString(xNode.Attributes["name"].Value),
    //                           Convert.ToString(xNode.Attributes["description"].Value),
    //                           Convert.ToString(xNode.Attributes["url"].Value),
    //                           Convert.ToInt64(xNode.Attributes["parent"].Value),
    //                           Convert.ToString(xNode.Attributes["sub"].Value));
    //        }
    //        catch
    //        {

    //        }


    //        return ce;
    //    }

    //    public String ToXmlString()
    //    {
    //        xDoc = new XmlDocument();
    //        xDoc.PreserveWhitespace = true;
    //        XmlNode root = xDoc.CreateElement("Categories");
    //        foreach (CategoryEdu ce in categoryEdus)
    //        {
    //            XmlElement oNode = xDoc.CreateElement("Category");
    //            oNode.SetAttribute("id", ce.Id.ToString());
    //            oNode.SetAttribute("name", ce.Name.ToString());
    //            oNode.SetAttribute("description", ce.Description.ToString());
    //            oNode.SetAttribute("url", ce.Url.ToString());
    //            oNode.SetAttribute("parent", ce.Parent.ToString());
    //            try
    //            {
    //                oNode.SetAttribute("sub", ce.Sub.ToString());
    //            }
    //            catch
    //            {
    //            }
    //            root.AppendChild(oNode);
    //        }
    //        xDoc.AppendChild(root);
    //        TextWriter tw = new StringWriter();
    //        xDoc.Save(tw);
    //        return tw.ToString();
    //    }

    //    public void Add(CategoryEdu categoryEdu, string path)
    //    {
    //        //path = _path;
    //        xDoc = new XmlDocument();
    //        categoryEdus.Add(categoryEdu);
    //        ToXmlString();
    //        xDoc.Save(path);
    //    }

    //    public  string GetUrlById(long id)
    //    {
    //        foreach (CategoryEdu ce in categoryEdus)
    //        {
    //            if (ce.Id == id)
    //            {
    //                return ce.Url;
    //            }
    //        }
    //        return "";
    //    }

    //    public CategoryEdu Get(int index)
    //    {
    //        return categoryEdus[index];
    //    }
    //    public CategoryEdu GetItemRelationById(long id)
    //    {
    //        foreach (CategoryEdu ce in categoryEdus)
    //        {
    //            if (ce.Id == id)
    //            {
    //                return ce;
    //            }
    //        }
    //        return null;
    //    }
    //    public void Remove(CategoryEdu categoryEdu)
    //    {
    //        categoryEdus.Remove(categoryEdu);
    //    }
    //    public void RemoveAt(int index)
    //    {
    //        categoryEdus.RemoveAt(index);
    //    }

    //    public void Insert(int index, CategoryEdu categoryEdu )
    //    {
    //        categoryEdus.Insert(index, categoryEdu);
    //    }

    //    public void Update(int index, CategoryEdu categoryEdu, string path)
    //    {
            
    //        categoryEdus[index].Id = categoryEdu.Id;
    //        categoryEdus[index].Name = categoryEdu.Name;
    //        categoryEdus[index].Description = categoryEdu.Description;
    //        categoryEdus[index].Url = categoryEdu.Url;
    //        categoryEdus[index].Parent = categoryEdu.Parent;
    //        try
    //        {
    //            categoryEdus[index].Sub = categoryEdu.Sub;
    //        }
    //        catch
    //        {
    //        }
    //        ToXmlString();
    //        //path = _path;
    //        xDoc.Save(path);
    //    }

    //    public int IndexOf(CategoryEdu categoryEdu)
    //    {
    //        int index = -1;
    //        int i = 0;
    //        foreach (CategoryEdu ce in categoryEdus)
    //        {
    //            if (ce.Id == categoryEdu.Id)
    //            {
    //                index = i;
    //            }
    //            i++;
    //        }
    //        return index;
    //    }

    //}

    //public class CategoryEdu
    //{
    //    public CategoryEdu()
    //    {
    //    }

    //    public CategoryEdu(long id, string name, string description, string url, long parent)
    //    {
    //        _Id = id;
    //        _Name = name;
    //        _Description = description;
    //        _Url = url;
    //        _Parent = parent;
    //    }

    //    public CategoryEdu(long id, string name, string description, string url, long parent,string sub)
    //    {
    //        _Id = id;
    //        _Name = name;
    //        _Description = description;
    //        _Url = url;
    //        _Parent = parent;
    //        _Sub = sub;
    //    }

    //    protected long _Id = 0;
    //    public long Id
    //    {
    //        get
    //        { return _Id; }
    //        set { _Id = value; }
    //    }

    //    protected string _Name;
    //    public string Name
    //    {
    //        get
    //        {
    //            return _Name;
    //        }
    //        set
    //        {
    //            _Name = value;
    //        }
    //    }

    //    protected string _Description;
    //    public string Description
    //    {
    //        get
    //        {
    //            return _Description;
    //        }
    //        set { _Description = value; }
    //    }

    //    protected string _Url;
    //    public string Url
    //    {
    //        get
    //        {
    //            return _Url;
    //        }
    //        set { _Url = value; }
    //    }

    //    protected string _Sub;
    //    public string Sub
    //    {
    //        get
    //        {
    //            return _Sub;
    //        }
    //        set { _Sub = value; }
    //    }

    //    protected long _Parent;
    //    public long Parent
    //    {
    //        get
    //        {
    //            return _Parent;
    //        }
    //        set { _Parent = value; }
    //    }
    }
}
